1. Field of the Invention
This invention relates generally to data storage management, and more particularly to a method and system for the expiration of access tokens prior to file I/O quiescing.
2. Description of the Related Art
Modern distributed shared storage environments may include many storage objects connected via an interconnection network. An interconnection network provides the infrastructure to connect the various elements of a distributed shared storage environment. Within the storage environment, file system abstractions may be built on top of volumes that may be distributed across multiple storage devices. As the number of volumes and file system abstractions grows, the complexity of the entire storage environment grows dramatically.
In order to limit bottlenecking and the resulting restricted data throughput, distributed shared storage environments may separate the actual storage of data from the management of that data. Storage architectures that employ this technique are generally referred to as out-of-band or asymmetric systems. A metadata server (MDS) generally supplies the required data management and control functions including, among others, file system mapping, data mirror synchronization, client authentication and access privileges. An MDS can provide this metadata to other devices, processes, and applications. The data itself can be stored on various storage devices attached to the network, but not necessarily connected directly to the MDS. Such storage devices provide data storage functions without having to worry about the metadata and file system management.
Applications, or clients, initially contact the MDS to request access to a specific file or dataset. The MDS may, after authenticating the client node and applying whatever data access policies are relevant, provide the requesting client node with information about what storage device contains that particular dataset and with an access token to present to the storage device. Client nodes may then communicate directly with the storage device, presenting access tokens when reading or writing data. The access token, or capability, generally describes the access rights of the client, and may, through the use of digital signatures, provide proof that the access token was generated by the MDS and has not been modified.
Separating data from its associated metadata allows the actual data traffic to be routed directly to storage devices and may prevent the MDS from becoming a bottleneck and limiting the total amount of data throughput. This architecture may also allow the MDS to be optimized for metadata lookups that usually involve smaller reads and writes, while allowing the storage devices themselves to be optimized for larger transfers of data.
In distributed shared storage environments where multiple clients may need simultaneous access to the same data, datasets may be fixed into specific versions to ensure data integrity across client sessions. These dataset versions may be referred to as file images. Certain tasks, like backing up one or more files, checking and correcting data consistency across mirrored database files, or virus removal may require a single application or process to have exclusive access to one or more file images. Typically, general access to the datasets involved must be quiesced and all data caches must be flushed. Freezing the I/O to a specific file or dataset image in a shared storage environment may require the MDS to individually cancel all current access tokens by transmitting recall or revocation messages to every client that has been issued access tokens for the image. Revoking access tokens individually may be burdensome with numerous outstanding tokens.